﻿<p>The <strong>Web Markup Minifier</strong> (abbreviated WebMarkupMin) - a .NET library that contains a set of markup minifiers.
	The objective of this project is to improve the performance of web applications by reducing the size of <abbr title="HyperText Markup Language">HTML</abbr>, <abbr title="Extensible HyperText Markup Language">XHTML</abbr> and <abbr title="Extensible Markup Language">XML</abbr> code.
<p>WebMarkupMin absorbed the best of existing solutions from non-microsoft platforms: Juriy Zaytsev's <a href="https://github.com/kangax/html-minifier/" target="_blank">HTML Minifier</a> (written in JavaScript) and Sergiy Kovalchuk's <a href="https://github.com/serg472/htmlcompressor" target="_blank">HtmlCompressor</a> (written in Java).</p>
<p>Minification of markup produces by removing extra whitespace, comments and redundant code (only for HTML and XHTML).
	In addition, HTML and XHTML minifiers supports the minification of CSS code from <code>style</code> tags and attributes, and minification of JavaScript code from <code>script</code> tags, event attributes and hyperlinks with <code>javascript:</code> protocol.
	WebMarkupMin.Core contains built-in JavaScript minifier based on the Douglas Crockford's <a href="https://github.com/douglascrockford/JSMin" target="_blank">JSMin</a> and built-in CSS minifier based on the Mads Kristensen's <a href="https://madskristensen.net/blog/efficient-stylesheet-minification-in-c" target="_blank">Efficient stylesheet minifier</a>.
	The above mentioned minifiers produce only the most simple minifications of CSS and JavaScript code, but you can always install additional modules that support the more powerful algorithms of minification: WebMarkupMin.MsAjax (contains minifier-adapters for the <a href="https://github.com/microsoft/ajaxmin" target="_blank">Microsoft Ajax Minifier</a>), WebMarkupMin.Yui (contains minifier-adapters for <a href="https://github.com/YUICompressor-NET/YUICompressor.NET" target="_blank">YUI Compressor for .NET</a>) and WebMarkupMin.NUglify (contains minifier-adapters for the <a href="https://github.com/trullock/NUglify" target="_blank">NUglify</a>).</p>
<p>Also supports minification of views of popular JavaScript template engines: <a href="http://knockoutjs.com/" target="_blank">KnockoutJS</a>, <a href="https://www.telerik.com/kendo-ui" target="_blank">Kendo UI MVVM</a> and <a href="https://angularjs.org/" target="_blank">AngularJS</a> 1.X.</p>
<p>In addition, there are several modules that integrate this library into ASP.NET: WebMarkupMin.AspNet4.HttpModules (for ASP.NET 4.X and ASP.NET Web Pages), WebMarkupMin.AspNet4.Mvc (for ASP.NET MVC 3, 4 or 5), WebMarkupMin.AspNet4.WebForms (for ASP.NET Web Forms 4.X), WebMarkupMin.AspNetCore1 (for ASP.NET Core 1.X), WebMarkupMin.AspNetCore2 (for ASP.NET Core 2.X), WebMarkupMin.AspNetCore3 (for ASP.NET Core 3.1+), WebMarkupMin.AspNetCore5 (for ASP.NET Core 5.X), WebMarkupMin.AspNetCore6 (for ASP.NET Core 6) and WebMarkupMin.AspNetCore7 (for ASP.NET Core 7).</p>
<p>You can try WebMarkupMin in action and experiment with different minification settings live on the <a href="https://webmarkupmin.bsite.net/" target="_blank">WebMarkupMin Online</a> site.</p>
<p>WebMarkupMin was created and is maintained by Andrey Taritsyn.</p>